Type - Preserving CPS Translation of Σ and Π Types is Not Not Possible 22 : 3
نویسندگان
چکیده
Dependently typed languages such as Coq are used to specify and prove functional correctness of source programs, but what we ultimately need are guarantees about correctness of compiled code. By preserving dependent types through each compiler pass, we could preserve source-level specifications and correctness proofs into the generated target-language programs. Unfortunately, type-preserving compilation of dependent types is hard. In 2002, Barthe and Uustalu showed that type-preserving CPS is not possible for languages such as Coq. Specifically, they showed that for strong dependent pairs (Σ types), the standard typed call-by-name CPS is not type preserving. They further proved that for dependent case analysis on sums, a class of typed CPS translations—including the standard translation—is not possible. In 2016, Morrisett noticed a similar problem with the standard call-by-value CPS translation for dependent functions (Π types). In essence, the problem is that the standard typed CPS translation by double-negation, in which computations are assigned types of the form (A→ ⊥) → ⊥, disrupts the term/type equivalence that is used during type checking in a dependently typed language. In this paper, we prove that type-preserving CPS translation for dependently typed languages is not not possible. We develop both call-by-name and call-by-value CPS translations from the Calculus of Constructions with both Π and Σ types (CC) to a dependently typed target language, and prove type preservation and compiler correctness of each translation. Our target language is CC extended with an additional equivalence rule and an additional typing rule, which we prove consistent by giving a model in the extensional Calculus of Constructions. Our key observation is that we can use a CPS translation that employs answer-type polymorphism, where CPS-translated computations have type ∀α .(A→ α) → α . This type justifies, by a free theorem, the new equality rule in our target language and allows us to recover the term/type equivalences that CPS translation disrupts. Finally, we conjecture that our translation extends to dependent case analysis on sums, despite the impossibility result, and provide a proof sketch.
منابع مشابه
Type - Preserving CPS Translation of Σ and Π Types is Not Not
Dependently typed languages like Coq are used to specify and prove functional correctness of source programs, but what we ultimately need are guarantees about correctness of compiled code. By preserving dependent types through each compiler pass, we could preserve source-level specifications and correctness proofs into the generated target-language programs. Unfortunately, type-preserving compi...
متن کاملCall-by-Value in a Basic Logic for Interaction
ion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. Abstraction of Γ, x : N `M : Nion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. nat× σ′ (γ × nat)× σ′ γ × σ nat× (γ × σ′) Abstraction of Γ, x : N `M : Nion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. nat× τ γ × σ ∀σ.∃φ.∀τ . φ× σ (φ× nat)× τ nat× (φ× τ) λx:X.M Abstraction of Γ, x : N `M : Nion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. nat× τ γ ...
متن کاملMonad Translating Inductive and Coinductive Types
We show that the call-by-name monad translation of simply typed lambda calculus extended with sum and product types extends to special and general inductive and coinductive types so that its crucial property of preserving typings and βand commuting reductions is maintained. Specific similar-purpose translations such as CPS translations follow from the general monad translations by specializatio...
متن کاملEquivalence-Preserving Compilation
Language-based security relies on the assumption that all potential attacks are bound by the rules of the language in question. When programs are compiled into a different language, this is true only if the translation process preserves observational equivalence. We investigate the problem of fully abstract compilation, i.e., compilation that both preserves and reflects observational equivalenc...
متن کاملElectron Paramagnetic Resonance Studies of the Effects of π-donor Ligand and B18N18 Nanoring Field on Energy Gaps
To investigation non-bonded interaction of the [CuF4]2- complex inside nanoring, we focus on the single wall boron-nitride B18N18 nanoring. Thus, the geometry of B18N18 nanoring has been optimized by B3LYP method with EPR-II basis set and geometry of the [CuF4]2- complex has been optimized at B3LYP method with Def2-TZVP basis set and Stuttgart RSC 1997 Effective Core Potential. Also electronic ...
متن کامل